/**
 * SPDX-FileCopyrightText: 2023-2025 Sangfor Technologies Inc.
 * SPDX-License-Identifier: Mulan PSL v2
 */
/**
 * Created by ued on 2016/11/3.
 */

import Name from '../validations/name';
import DotEmail from '../validations/dot_email';
import IPRange from '../validations/ipv4_range';
import SfVueComponent from '@sxf/sf-vue-component';
import IPOrPort from '../validations/ip_or_port';
import MultiIPOrPort from '../validations/multi_ip_or_port';
import MultiIpRangeOrMask from '../validations/multi_ip_range_or_mask';

import ColumnName from '../validations/column_name';
import NameAiFlow from '../validations/name_aiflow';

import ServiceName from '../validations/service_name';
import NameTask from '../validations/name_task';



// eslint-disable-next-line
function install () {
    let vtypeMap = SfVueComponent.vtypes;
    vtypeMap.set('dot_email', new DotEmail());
    vtypeMap.set('name', new Name());
    vtypeMap.set('ip_range', new IPRange());
    vtypeMap.set('ip_or_port', new IPOrPort());
    vtypeMap.set('multi_ip_or_port', new MultiIPOrPort());
    vtypeMap.set('multi_ip_range_or_mask', new MultiIpRangeOrMask());
    vtypeMap.set('column_name', new ColumnName());
    vtypeMap.set('name_aiflow', new NameAiFlow());
    vtypeMap.set('service_name', new ServiceName());
    vtypeMap.set('name_task', new NameTask());
    return vtypeMap;
}

export default {
    install
};
